﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace TP2.Lib
{
    // [XmlInclude(typeof(LanzaTorpedoRastreador))]
     [Serializable]
    public class LanzaTorpedoRastreador : Arma
    {
        const int CANT_MUNICIONES_LANZA_TORPEDO_RASTREADOR = 1,
                  VIDA_LANZA_TORPEDO_RASTREADOR = 1;

        private LanzaTorpedoRastreador() { } /*Contructor vacio, lo utiliza la serialización*/
        
        public LanzaTorpedoRastreador(double[] posicion, int[] dimensiones)
            : base(posicion, dimensiones)
        {
            this.Vida = VIDA_LANZA_TORPEDO_RASTREADOR;
            this.Municiones = CANT_MUNICIONES_LANZA_TORPEDO_RASTREADOR;
            this.Radio = 0;
            this.Rapidez = 0;
            this.Recorrido = null;
        }

        public override Proyectil Disparar(double[] desde, double[] hastaObjetivo) 
        {
            if (this.Municiones > 0)
            {
                TorpedoRastreador proyectilTorpedoRastreador = new TorpedoRastreador(desde, hastaObjetivo, this.Dimensiones);
                this.Municiones = this.Municiones - 1;
                return (proyectilTorpedoRastreador);
            }
            else
            {
                return (null);
            }
        }

        public override Proyectil Actuar()
        {
            return null;
        }

    }
}
